import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main {

	public static void main(String[] args) throws IOException {
		
		char opcion = '0';
		
		while (opcion!='Q' && opcion!='q')
		{
			
			System.out.println("******************************************");
			System.out.println("************ Menu de Opciones ************");
			System.out.println("******************************************");
			System.out.println("1. Generacion de datos de carga");
			System.out.println("2. Creacion de archivos");
			System.out.println("3. Trabajo con archivos");
			System.out.println("Q. Para salir del programa");
			System.out.println("******************************************");
			
			//opcion = (char) System.in.read();
			BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
			opcion = stdin.readLine().charAt(0);
			
			switch (opcion){
			case '1':
				generacionDatosCarga();
				break;
			case '2':
				creacionArchivos();
				break;
			case '3':
				trabajoArchivos();
				break;
			case 'q':
				break;
			case 'Q':
				break;
			default:
				break;	
			}
		}
		
		System.out.println("Fin de la aplicacion");
	
	}

	private static void trabajoArchivos() {
		System.out.println("******************************************");
		System.out.println("********* Trabajo con archivos ***********");
		System.out.println("******************************************");
		
		return;
	}

	private static void creacionArchivos() {
		System.out.println("******************************************");
		System.out.println("********** Creacion de archivos **********");
		System.out.println("******************************************");
		
		return;
	}

	private static void generacionDatosCarga() throws IOException {
		char opcion = '0';
		
		while (opcion!='Q' && opcion!='q' && opcion!='Y' && opcion!='y')
		{
			
			System.out.println("******************************************");
			System.out.println("******* Generacion datos de carga ********");
			System.out.println("******************************************");
			
			String nombreArchivo = "";
			
			int cantidadIdentificadores = 0;
			int limiteInferior = 0;
			int limiteSuperior = 0;
			
			String entrada = "";
			
			BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
	
			System.out.println("Indique el nombre del archivo de valores que desea crear");
			entrada = stdin.readLine().toString();
			nombreArchivo = entrada;
			entrada = "";
			
			System.out.println("Indique la cantidad de identificadores numericos");
			entrada = stdin.readLine().toString();
			cantidadIdentificadores = Integer.parseInt(entrada);
			entrada = "";
			
			System.out.println("Indique el limite inferior");
			entrada = stdin.readLine().toString();
			limiteInferior = Integer.parseInt(entrada);
			entrada = "";
			
			System.out.println("Indique el limite superior");
			entrada = stdin.readLine().toString();
			limiteSuperior = Integer.parseInt(entrada);
			entrada = "";
			
			System.out.println("Indique el tipo de distribucion para la generacion de los numeros");
			System.out.println("a) Distribucion uniforme");
			System.out.println("b) Distribucion sesgada por subintervalos");
			entrada = stdin.readLine().toString();
			entrada = "";
			
			System.out.println("** Se generara el archivo con la siguiente informacion: **");
			System.out.println("** Nombre Archivo: " + nombreArchivo.toString());
			System.out.println("** Cantidad identificadores: " + cantidadIdentificadores);
			System.out.println("** Limite inferior : " + limiteInferior);
			System.out.println("** Limite superior: " + limiteSuperior);
			System.out.println("** Distribucion elegida: " + entrada);
			
			System.out.println("** Si es correcto ingrese Y, caso contrario N, o Q para volver al menu anterior: **");
			
			opcion = stdin.readLine().charAt(0);
			
			switch (opcion){
			case 'Y':
				generarArchivo();
				break;
			case 'y':
				generarArchivo();
				break;
			case 'N':
				break;
			case 'n':
				break;
			default:
				break;	
			}
		}
		
		return;
	}

	private static void generarArchivo() {
		// TODO Auto-generated method stub
		
	}
	
}

